package d4_innerclass04_2;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test03 {
    public static void main(String[] args) {
        //拓展: 掌握匿名内部类的真实场景
        //GUI SWING编程 桌面编程
        //1.创建一个窗口
        JFrame win = new JFrame("登录一下");
        //面板
        JPanel jPanel = new JPanel();
        win.add(jPanel);

        JButton btn = new JButton("登录");
        jPanel.add(btn);

        //给按钮绑定监听器对象,可以用来监听用户的点击, 以便做出反应
        // 匿名内部类是作为一个对象参数传值给方法使用, 至于什么时候用匿名内部类要看实际开发的需要, 遇到了才用, 没有遇到不会主动用
        //还有一个重要的作用, 简化代码(新技术的基础)
      /*  btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("点击我,我要登录了");
                JOptionPane.showMessageDialog(win, "没事别点我,讨厌你");
            }
        });*/
        //新技术
        btn.addActionListener(e -> JOptionPane.showMessageDialog(win, "没事别点我,讨厌你"));


        //2.设计大小
        win.setSize(400, 400);
        win.setLocationRelativeTo(null);
        //关闭窗口时,停止程序
        win.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        win.setVisible(true);

        //
    }
}
